Quando se contrata um IaaS está pegando uma máquina apenas com o sistema operacional instalado, nela você terá que configurar os serviços que serão usados, instalar a linguagem, frameworks, banco de dados, sistemas de segurança, softwares e tudo mais. Na hora de contratar você só precisa definir os tamanhos para armazenamento, se será SSD ou HD, processamento, memória, transferência de dados e outras informações referente ao hardware. Ele permite ao desenvolvedor ou pessoa da infra fazer toda a configuração necessária. Por isso é chamada de infraestrutura como serviço.
No caso da SaaS você contrata a máquina já com os serviços instalados, além da solicitação de hardware faz a requisição de qual sistema operacional irá usar, linguagens que devem ser instaladas, frame works, banco de dados, sistema de segurança, versões de cada item citado antes, entre outros. Ela é chamada de software como serviço. Esse modo dá menos trabalho para o desenvolvedor mas tirá um pouco da liberdade de configurar a máquina e normalmente é mais caro.